# 指定要生成的目标文件的名字 
TARGET:= server
# 指定编译工具 gcc   虚拟机：gcc   板子则用 arm-linux-gcc
CC:=  gcc

# CSRCS保存工程中所有的.c文件名列表
CSRCS:= $(wildcard ./src/*.c)					# 1.c 2.c 3.c ...

# OBJS保存过程中所有的.o文件名列表
OBJS:= $(patsubst %.c,%.o,$(CSRCS))		# 1.o 2.o 3.o ...

# INC 保存工程中所有头文件的搜索路径 		
INC:= -I ./include						# gcc main.c -o main -I ./ -L ./lib/ -lsqlite3

# LIBS 保存工程中所有的库的搜索路径
LIBS:= -lsqlite3 

$(TARGET):$(OBJS)
	$(CC) $^ $(LIBS) -o $@
	
# # 将可执行文件复制到tftpboot 	
# 	cp $@ ~/tftpboot    

%.o:%.c
	$(CC) -c $< $(INC)  -o $@
	
#编译报错，重新编译之前，可以先清除之前残留的中间文件 ：  make clean
.PHONY:clean #表示clean是一个伪目标，不会生成特定的文件
clean:
	rm -rf $(OBJS)
	rm -rf $(TARGET)










